<template>
	<view class="container">
		<view class="plugs_box">
			<view class="item_list_box" @click="gotoPluginDetail(item)" v-for="(item, index) in plugsList" :key="index">
				<view class="plugs_item">
					<view class="item_left">
						<image class="" :src="item.icon" lazy-load mode="aspectFill"></image>
					</view>
					<view class="item_right">
						<view class="goods_title">
							<text>{{ item.title }}</text>
						</view>
						<view class="desc">
							<text>{{ item.plugsDescribe }}</text>
						</view>
					</view>
				</view>
			</view>
		</view>
	</view>
</template>

<script>
import { searchAdminUserById, getPlugsInfoById } from '@/utils/api.js';
export default {
	data() {
		return {
			plugsList: [],
			myPlugsList: [
				{
					icon: '',
					title: '店铺插件',
					plugsDescribe: ''
				},
				{
					icon: '',
					title: '表单提交',
					plugsDescribe: ''
				},
				{
					icon: '',
					title: '店铺审核',
					plugsDescribe: ''
				}
				
			],
			existPluginId: [209] //指定常用的插件id
		};
	},
	onLoad() {
		this.getPluginsList();
	},
	onShow() {
		this.getPluginsList();
	},
	methods: {
		getPluginsList() {
			let postData = {
				id: uni.getStorageSync('userInfo').id
			};
			uni.showLoading({
				title: '加载中'
			});
			searchAdminUserById(postData).then((res) => {
				if (res.code == 200) {
					let totalPluginsList = JSON.parse(res.body.plugJson);
					console.log(totalPluginsList);
					
					let pluginIds = [];
					totalPluginsList.forEach((item) => {
						pluginIds.push(item.id);
					});
					let data = {
						ids: pluginIds.join()
					};
					getPlugsInfoById(data).then((element) => {
						if (element.code == 200) {
							let avalibleIds = element.body.filter((item) => {
								// 在用户已授权的插件中，筛选出已指定的常用插件id
								return this.myPlugsList.find((item1) => item1.title == item.title);
							});
							this.plugsList = avalibleIds;
						}
					});
					
					
					
					let avalibleIds = totalPluginsList.filter((item) => {
						// 在用户已授权的插件中，筛选出已指定的常用插件id
						return this.myPlugsList.find((item1) => item1.title == item.plugsName);
					});
					
					uni.hideLoading();
				} else {
					uni.showToast({
						title: '加载失败！',
						icon: 'none'
					});
					return;
				}
			});

			
		},
		gotoPluginDetail(item) {
			uni.navigateTo({
				url: `/subpack_plugin/${item.paths}/${item.paths}?title=${item.title}&plugsId=${item.id}`
			});
		}
	}
};
</script>

<style>
page {
	background-color: #deeaff;
}
</style>

<style lang="scss" scoped>
.container {
	width: 100vw;

	.plugs_box {
		width: 100%;
		padding: 30rpx;
		box-sizing: border-box;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;

		// 方块排列
		// .item_list_box{
		// 	width: 48%;
		// 	overflow: hidden;

		// 	.plugs_item{
		// 		width: 100%;
		// 		padding: 0 15rpx;
		// 		display: flex;
		// 		flex-direction: column;
		// 		align-items: center;
		// 		background-color: #fff;
		// 		padding: 30rpx 20rpx;
		// 		box-sizing: border-box;
		// 		border-radius: 20rpx;
		// 		margin-top: 26rpx;

		// 		.goods_title{
		// 			width: 100%;
		// 			margin-top: 20rpx;
		// 			overflow: hidden;
		// 			white-space: nowrap;
		// 			text-overflow: ellipsis;
		// 		}

		// 		.desc{
		// 			width: 100%;
		// 			overflow: hidden;
		// 			text-overflow: ellipsis;
		// 			white-space: normal;
		// 			display: -webkit-box;
		// 			-webkit-line-clamp: 1;
		// 			-webkit-box-orient: vertical;
		// 			font-size: 28rpx;
		// 			color: #9a9a9a;
		// 			margin-top: 14rpx;
		// 		}

		// 		image{
		// 			width: 280rpx;
		// 			height: 280rpx;
		// 			border-radius: 10rpx;
		// 		}

		// 		.price{
		// 			width: 100%;
		// 			margin-top: 20rpx;
		// 			font-size: 30rpx;
		// 			color: #FF0000;
		// 			font-weight: bold;
		// 			display: flex;
		// 			justify-content: space-between;
		// 			align-items: center;

		// 			span{
		// 				font-size: 30rpx;
		// 			}

		// 			.image{
		// 				width: 50rpx;
		// 				height: 50rpx;
		// 			}

		// 			.desc_text{
		// 				font-size: 26rpx;
		// 				color: #aaaaaa;
		// 			}
		// 		}
		// 	}
		// }

		.item_list_box {
			width: 100%;
			padding: 10rpx 0;

			.plugs_item {
				width: 100%;
				display: flex;
				align-items: center;
				background-color: #fff;
				border-radius: 20rpx;
				padding: 30rpx 20rpx;
				box-sizing: border-box;

				.item_left {
					image {
						width: 140rpx;
						height: 140rpx;
						border-radius: 10rpx;
					}
				}
				.item_right {
					flex: 1;
					display: flex;
					flex-direction: column;
					justify-content: space-between;
					padding-left: 20rpx;
					box-sizing: border-box;

					.goods_title {
						margin-bottom: 14rpx;
					}
					.desc {
						font-size: 26rpx;
						color: #a6a6a6;
					}
				}
			}
		}
	}
}
</style>
